import moment from "moment";
import FingerprintJS from '@fingerprintjs/fingerprintjs';

export const getLocalImage = (img) =>{
    return new URL(`@/assets/images/${img}` ,import.meta.url).href;
}
const formatDate = (date) =>{
// 解析日期时间字符串为Moment对象
    const time = moment(date);
// 计算修正后的时间与当前时间的天数差
    const days = moment().diff(time, 'days');
    if (days === 0) {
        // 如果天数差为0，返回修正后的时间的格式化字符串（HH:mm）
        return time.format('HH:mm');
    } else if (days === 1) {
        // 如果天数差为1，返回'昨天'
        return '昨天';
    } else if (days >= 2 && days <= 360) {
        // 如果天数差在7到360之间，返回修正后的时间的格式化字符串（MM-DD）
        return time.format('MM-DD');
    } else if (days > 360) {
        // 如果天数差大于360，返回修正后的时间的格式化字符串（YYYY-MM-DD）
        return time.format('YYYY-MM-DD');
    }
}
// 格式化日期时间字符串为YYYY-MM-DD HH:mm:ss
const GetDate = (date) =>{
    const time = moment(date);
    return time.format('YYYY-MM-DD HH:mm:ss');
}
// MM-DD HH:mm格式
const formatDateTime = (date) => {
    const time = moment(date);
    const days = moment().diff(time, 'days');
    if (days === 0) {
        return time.format('HH:mm');
    }
    if (days >= 1 && days <= 360) {
        return time.format('MM-DD HH:mm');
    }
    if (days > 360) {
        return time.format('YYYY-MM-DD');
    }
}
// 秒转时分秒格式
const conertSecondsToHMS = (seconds) =>{
    const hours = Math.floor(seconds / 3600);
    const minutes = Math.floor((seconds % 3600) / 60);
    const secs = seconds % 60;
    return (hours == 0 ? '' : hours.toString().padStart(2,'0')+":") + minutes.toString().padStart(2,'0')+":" + secs.toString().padStart(2,'0');
}
//播放时间格式化
const formatPlayTime = (time) =>{
    let hours = Math.floor(time / 3600);
    let minutes = Math.floor((time % 3600) / 60);
    let seconds = time % 60;
    return `${hours > 0 ? `${hours}:` : ''}${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
}
//生成浏览器指纹码
const getAnvasFingerprint = async () => {
    const fpPromise = FingerprintJS.load();
    const fp = await fpPromise;
    const result = await fp.get();
    return result.visitorId;
};
//换行转义HTML
const escapeHtml = (str) => {
    let introduction = str;
    introduction = introduction.replace(/\r\n/g, "<br>");
    introduction = introduction.replace(/\n/g, "<br>");
    return introduction;
}
export default {
    getLocalImage,
    formatDate,
    GetDate,
    conertSecondsToHMS,
    getAnvasFingerprint,
    formatPlayTime,
    formatDateTime,
    escapeHtml
}